// vite.config.ts
import path2 from "node:path";
import process from "node:process";
import { loadEnv } from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/vite@5.4.0_@types+node@20.14.14_less@4.2.0_terser@5.31.5/node_modules/vite/dist/node/index.js";
import viewport from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/postcss-mobile-forever@4.1.5_postcss@8.4.41/node_modules/postcss-mobile-forever/index.js";
import autoprefixer from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/autoprefixer@10.4.20_postcss@8.4.41/node_modules/autoprefixer/lib/autoprefixer.js";

// build/vite/index.ts
import { dirname, resolve } from "node:path";
import { fileURLToPath } from "node:url";
import { unheadVueComposablesImports } from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/@unhead+vue@1.9.16_vue@3.4.37_typescript@5.5.4_/node_modules/@unhead/vue/dist/index.mjs";
import legacy from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/@vitejs+plugin-legacy@5.4.1_terser@5.31.5_vite@5.4.0_@types+node@20.14.14_less@4.2.0_terser@5.31.5_/node_modules/@vitejs/plugin-legacy/dist/index.mjs";
import vue from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/@vitejs+plugin-vue@5.1.2_vite@5.4.0_@types+node@20.14.14_less@4.2.0_terser@5.31.5__vue@3.4.37_typescript@5.5.4_/node_modules/@vitejs/plugin-vue/dist/index.mjs";
import UnoCSS from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/unocss@0.61.5_postcss@8.4.41_rollup@4.20.0_vite@5.4.0_@types+node@20.14.14_less@4.2.0_terser@5.31.5_/node_modules/unocss/dist/vite.mjs";
import AutoImport from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/unplugin-auto-import@0.18.2_@vueuse+core@10.11.1_vue@3.4.37_typescript@5.5.4___rollup@4.20.0/node_modules/unplugin-auto-import/dist/vite.js";
import { VantResolver } from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/unplugin-vue-components@0.27.3_@babel+parser@7.25.3_rollup@4.20.0_vue@3.4.37_typescript@5.5.4_/node_modules/unplugin-vue-components/dist/resolvers.js";
import Components from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/unplugin-vue-components@0.27.3_@babel+parser@7.25.3_rollup@4.20.0_vue@3.4.37_typescript@5.5.4_/node_modules/unplugin-vue-components/dist/vite.js";
import { VueRouterAutoImports } from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/unplugin-vue-router@0.10.2_rollup@4.20.0_vue-router@4.4.3_vue@3.4.37_typescript@5.5.4___vue@3.4.37_typescript@5.5.4_/node_modules/unplugin-vue-router/dist/index.js";
import VueRouter from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/unplugin-vue-router@0.10.2_rollup@4.20.0_vue-router@4.4.3_vue@3.4.37_typescript@5.5.4___vue@3.4.37_typescript@5.5.4_/node_modules/unplugin-vue-router/dist/vite.js";
import mockDevServerPlugin from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/vite-plugin-mock-dev-server@1.6.1_rollup@4.20.0_vite@5.4.0_@types+node@20.14.14_less@4.2.0_terser@5.31.5_/node_modules/vite-plugin-mock-dev-server/dist/index.js";
import { VitePWA } from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/vite-plugin-pwa@0.20.1_vite@5.4.0_@types+node@20.14.14_less@4.2.0_terser@5.31.5__workbox-buil_a36b5ny5bkml46t74c7n22ypq4/node_modules/vite-plugin-pwa/dist/index.js";
import Sitemap from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/vite-plugin-sitemap@0.6.2/node_modules/vite-plugin-sitemap/dist/index.js";
import VueDevTools from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/vite-plugin-vue-devtools@7.3.7_rollup@4.20.0_vite@5.4.0_@types+node@20.14.14_less@4.2.0_terse_qmtqgd7bn5qyncjkuvlidxnt4m/node_modules/vite-plugin-vue-devtools/dist/vite.mjs";
import VueI18nPlugin from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/@intlify+unplugin-vue-i18n@4.0.0_rollup@4.20.0_vue-i18n@9.13.1_vue@3.4.37_typescript@5.5.4__/node_modules/@intlify/unplugin-vue-i18n/lib/vite.mjs";

// build/vite/vconsole.ts
import path from "node:path";
import { viteVConsole } from "file:///G:/nodePre/vue3-vant-mobile/node_modules/.pnpm/vite-plugin-vconsole@2.1.1/node_modules/vite-plugin-vconsole/dist/main.mjs";
function createViteVConsole() {
  return viteVConsole({
    entry: [path.resolve("src/main.ts")],
    enabled: false,
    config: {
      maxLogNumber: 1e3,
      theme: "light"
    },
    // https://github.com/vadxq/vite-plugin-vconsole/issues/21
    dynamicConfig: {
      theme: `document.documentElement.classList.contains('dark') ? 'dark' : 'light'`
    },
    eventListener: `
      const targetElement = document.querySelector('html'); // \u62E9\u8981\u76D1\u542C\u7684\u5143\u7D20
      const observerOptions = {
        attributes: true, // \u76D1\u542C\u5C5E\u6027\u53D8\u5316
        attributeFilter: ['class'] // \u53EA\u76D1\u542Cclass\u5C5E\u6027\u53D8\u5316
      };

      // \u5B9A\u4E49\u56DE\u8C03\u51FD\u6570\u6765\u5904\u7406\u89C2\u5BDF\u5230\u7684\u53D8\u5316
      function handleAttributeChange(mutationsList) {
        for(let mutation of mutationsList) {
          if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
            if (window && window.vConsole) {
              window.vConsole.dynamicChange.value = new Date().getTime();
            }
          }
        }
      }

      // \u521B\u5EFA\u89C2\u5BDF\u8005\u5B9E\u4F8B\u5E76\u4F20\u5165\u56DE\u8C03\u51FD\u6570
      const observer = new MutationObserver(handleAttributeChange);

      // \u5F00\u59CB\u89C2\u5BDF\u76EE\u6807\u5143\u7D20
      observer.observe(targetElement, observerOptions);

      // \u5F53\u4E0D\u518D\u9700\u8981\u89C2\u5BDF\u65F6\uFF0C\u505C\u6B62\u89C2\u5BDF
      // observer.disconnect();
    `
  });
}

// build/vite/index.ts
var __vite_injected_original_import_meta_url = "file:///G:/nodePre/vue3-vant-mobile/build/vite/index.ts";
function createVitePlugins() {
  return [
    // https://github.com/posva/unplugin-vue-router
    VueRouter({
      extensions: [".vue"],
      routesFolder: "src/pages",
      dts: "src/typed-router.d.ts"
    }),
    vue(),
    // https://github.com/jbaubree/vite-plugin-sitemap
    Sitemap(),
    // https://github.com/pengzhanbo/vite-plugin-mock-dev-server
    mockDevServerPlugin(),
    // https://github.com/antfu/unplugin-vue-components
    Components({
      extensions: ["vue"],
      resolvers: [VantResolver()],
      include: [/\.vue$/, /\.vue\?vue/],
      dts: "src/components.d.ts"
    }),
    // https://github.com/antfu/unplugin-auto-import
    AutoImport({
      include: [
        /\.[tj]sx?$/,
        /\.vue$/,
        /\.vue\?vue/
      ],
      imports: [
        "vue",
        "vitest",
        "@vueuse/core",
        VueRouterAutoImports,
        {
          "vue-router/auto": ["useLink"],
          "@/utils/i18n": ["i18n", "locale"],
          "vue-i18n": ["useI18n"]
        },
        unheadVueComposablesImports
      ],
      dts: "src/auto-imports.d.ts",
      dirs: [
        "src/composables"
      ],
      viteOptimizeDeps: false
    }),
    // https://github.com/intlify/bundle-tools/tree/main/packages/unplugin-vue-i18n
    VueI18nPlugin({
      // locale messages resource pre-compile option
      include: resolve(dirname(fileURLToPath(__vite_injected_original_import_meta_url)), "../../src/locales/**")
    }),
    legacy({
      targets: ["defaults", "not IE 11"]
    }),
    // https://github.com/antfu/unocss
    // see uno.config.ts for config
    UnoCSS(),
    // https://github.com/vadxq/vite-plugin-vconsole
    createViteVConsole(),
    // https://github.com/vuejs/devtools-next
    VueDevTools(),
    // https://github.com/antfu/vite-plugin-pwa
    VitePWA({
      registerType: "autoUpdate",
      includeAssets: ["favicon.svg", "safari-pinned-tab.svg"],
      manifest: {
        name: "vue3-vant-mobile",
        short_name: "vue3-vant-mobile",
        theme_color: "#ffffff",
        icons: [
          {
            src: "/favicon.png",
            sizes: "192x192",
            type: "image/png"
          },
          {
            src: "/favicon.png",
            sizes: "512x512",
            type: "image/png"
          },
          {
            src: "/favicon.png",
            sizes: "512x512",
            type: "image/png",
            purpose: "any maskable"
          }
        ]
      }
    })
  ];
}

// build/vite/optimize.ts
var include = [
  "axios",
  "store",
  "echarts",
  "lodash-es",
  "resize-detector",
  "store/plugins/expire",
  "vant/es/cell-group/style/index",
  "vant/es/popup/style/index",
  "vant/es/picker/style/index",
  "vant/es/cell/style/index",
  "vant/es/switch/style/index",
  "vant/es/space/style/index",
  "vant/es/button/style/index",
  "vant/es/empty/style/index",
  "vant/es/icon/style/index",
  "vant/es/stepper/style/index"
];
var exclude = [
  "@iconify-json/carbon"
];

// vite.config.ts
var __vite_injected_original_dirname = "G:\\nodePre\\vue3-vant-mobile";
var vite_config_default = ({ mode }) => {
  const root = process.cwd();
  console.log("root", mode, root);
  const env = loadEnv(mode, root);
  console.log("env", env);
  return {
    base: env.VITE_APP_PUBLIC_PATH,
    plugins: createVitePlugins(),
    server: {
      host: true,
      port: 3e3,
      proxy: {
        "/api": {
          target: "http://10.4.32.209:3001/",
          ws: false,
          changeOrigin: true
        }
      }
    },
    resolve: {
      alias: {
        "~@": path2.join(__vite_injected_original_dirname, "./src"),
        "@": path2.join(__vite_injected_original_dirname, "./src"),
        "~": path2.join(__vite_injected_original_dirname, "./src/assets"),
        "mock": path2.join(__vite_injected_original_dirname, "./mock")
      }
    },
    css: {
      postcss: {
        plugins: [
          autoprefixer(),
          // https://github.com/wswmsword/postcss-mobile-forever
          viewport({
            appSelector: "#app",
            viewportWidth: 375,
            maxDisplayWidth: 600,
            rootContainingBlockSelectorList: [
              "van-tabbar",
              "van-popup"
            ]
          })
        ]
      }
    },
    build: {
      // outDir: 'rsba', // 指定输出路径
      cssCodeSplit: false,
      chunkSizeWarningLimit: 2048
    },
    optimizeDeps: { include, exclude }
  };
};
export {
  vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAiYnVpbGQvdml0ZS9pbmRleC50cyIsICJidWlsZC92aXRlL3Zjb25zb2xlLnRzIiwgImJ1aWxkL3ZpdGUvb3B0aW1pemUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJHOlxcXFxub2RlUHJlXFxcXHZ1ZTMtdmFudC1tb2JpbGVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkc6XFxcXG5vZGVQcmVcXFxcdnVlMy12YW50LW1vYmlsZVxcXFx2aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRzovbm9kZVByZS92dWUzLXZhbnQtbW9iaWxlL3ZpdGUuY29uZmlnLnRzXCI7LypcbiAqIEBBdXRob3I6IGh1eHhcbiAqIEBEYXRlOiAyMDI0LTA4LTA4IDA5OjUyOjI2XG4gKiBATGFzdEVkaXRvcnM6IFx1ODBFMVx1NjY1M1x1NjYxRlxuICogQExhc3RFZGl0VGltZTogMjAyNC0wOC0xMyAxNjowMjowOVxuICogQEZpbGVQYXRoOiBcXHZpdGUuY29uZmlnLnRzXG4gKiBARGVzY3JpcHRpb246IFxuICovXG5pbXBvcnQgcGF0aCBmcm9tICdub2RlOnBhdGgnXG5pbXBvcnQgcHJvY2VzcyBmcm9tICdub2RlOnByb2Nlc3MnXG5pbXBvcnQgeyBsb2FkRW52IH0gZnJvbSAndml0ZSdcbmltcG9ydCB0eXBlIHsgQ29uZmlnRW52LCBVc2VyQ29uZmlnIH0gZnJvbSAndml0ZSdcbmltcG9ydCB2aWV3cG9ydCBmcm9tICdwb3N0Y3NzLW1vYmlsZS1mb3JldmVyJ1xuaW1wb3J0IGF1dG9wcmVmaXhlciBmcm9tICdhdXRvcHJlZml4ZXInXG5pbXBvcnQgeyBjcmVhdGVWaXRlUGx1Z2lucyB9IGZyb20gJy4vYnVpbGQvdml0ZSdcbmltcG9ydCB7IGV4Y2x1ZGUsIGluY2x1ZGUgfSBmcm9tICcuL2J1aWxkL3ZpdGUvb3B0aW1pemUnXG5cbmV4cG9ydCBkZWZhdWx0ICh7IG1vZGUgfTogQ29uZmlnRW52KTogVXNlckNvbmZpZyA9PiB7XG4gIGNvbnN0IHJvb3QgPSBwcm9jZXNzLmN3ZCgpXG4gIGNvbnNvbGUubG9nKCdyb290JywgbW9kZSwgcm9vdClcbiAgY29uc3QgZW52ID0gbG9hZEVudihtb2RlLCByb290KVxuICBjb25zb2xlLmxvZygnZW52JywgZW52KVxuXG4gIHJldHVybiB7XG4gICAgYmFzZTogZW52LlZJVEVfQVBQX1BVQkxJQ19QQVRILFxuICAgIHBsdWdpbnM6IGNyZWF0ZVZpdGVQbHVnaW5zKCksXG5cbiAgICBzZXJ2ZXI6IHtcbiAgICAgIGhvc3Q6IHRydWUsXG4gICAgICBwb3J0OiAzMDAwLFxuICAgICAgcHJveHk6IHtcbiAgICAgICAgJy9hcGknOiB7XG4gICAgICAgICAgdGFyZ2V0OiAnaHR0cDovLzEwLjQuMzIuMjA5OjMwMDEvJyxcbiAgICAgICAgICB3czogZmFsc2UsXG4gICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuXG4gICAgcmVzb2x2ZToge1xuICAgICAgYWxpYXM6IHtcbiAgICAgICAgJ35AJzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vc3JjJyksXG4gICAgICAgICdAJzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vc3JjJyksXG4gICAgICAgICd+JzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vc3JjL2Fzc2V0cycpLFxuICAgICAgICAnbW9jayc6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL21vY2snKSxcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIGNzczoge1xuICAgICAgcG9zdGNzczoge1xuICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgYXV0b3ByZWZpeGVyKCksXG4gICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3dzd21zd29yZC9wb3N0Y3NzLW1vYmlsZS1mb3JldmVyXG4gICAgICAgICAgdmlld3BvcnQoe1xuICAgICAgICAgICAgYXBwU2VsZWN0b3I6ICcjYXBwJyxcbiAgICAgICAgICAgIHZpZXdwb3J0V2lkdGg6IDM3NSxcbiAgICAgICAgICAgIG1heERpc3BsYXlXaWR0aDogNjAwLFxuICAgICAgICAgICAgcm9vdENvbnRhaW5pbmdCbG9ja1NlbGVjdG9yTGlzdDogW1xuICAgICAgICAgICAgICAndmFuLXRhYmJhcicsXG4gICAgICAgICAgICAgICd2YW4tcG9wdXAnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIGJ1aWxkOiB7XG4gICAgICAvLyBvdXREaXI6ICdyc2JhJywgLy8gXHU2MzA3XHU1QjlBXHU4RjkzXHU1MUZBXHU4REVGXHU1Rjg0XG4gICAgICBjc3NDb2RlU3BsaXQ6IGZhbHNlLFxuICAgICAgY2h1bmtTaXplV2FybmluZ0xpbWl0OiAyMDQ4LFxuICAgIH0sXG5cbiAgICBvcHRpbWl6ZURlcHM6IHsgaW5jbHVkZSwgZXhjbHVkZSB9LFxuICB9XG59XG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkc6XFxcXG5vZGVQcmVcXFxcdnVlMy12YW50LW1vYmlsZVxcXFxidWlsZFxcXFx2aXRlXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJHOlxcXFxub2RlUHJlXFxcXHZ1ZTMtdmFudC1tb2JpbGVcXFxcYnVpbGRcXFxcdml0ZVxcXFxpbmRleC50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRzovbm9kZVByZS92dWUzLXZhbnQtbW9iaWxlL2J1aWxkL3ZpdGUvaW5kZXgudHNcIjtpbXBvcnQgeyBkaXJuYW1lLCByZXNvbHZlIH0gZnJvbSAnbm9kZTpwYXRoJ1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ25vZGU6dXJsJ1xuaW1wb3J0IHsgdW5oZWFkVnVlQ29tcG9zYWJsZXNJbXBvcnRzIH0gZnJvbSAnQHVuaGVhZC92dWUnXG5pbXBvcnQgbGVnYWN5IGZyb20gJ0B2aXRlanMvcGx1Z2luLWxlZ2FjeSdcbmltcG9ydCB2dWUgZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlJ1xuaW1wb3J0IFVub0NTUyBmcm9tICd1bm9jc3Mvdml0ZSdcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gJ3VucGx1Z2luLWF1dG8taW1wb3J0L3ZpdGUnXG5pbXBvcnQgeyBWYW50UmVzb2x2ZXIgfSBmcm9tICd1bnBsdWdpbi12dWUtY29tcG9uZW50cy9yZXNvbHZlcnMnXG5pbXBvcnQgQ29tcG9uZW50cyBmcm9tICd1bnBsdWdpbi12dWUtY29tcG9uZW50cy92aXRlJ1xuaW1wb3J0IHsgVnVlUm91dGVyQXV0b0ltcG9ydHMgfSBmcm9tICd1bnBsdWdpbi12dWUtcm91dGVyJ1xuaW1wb3J0IFZ1ZVJvdXRlciBmcm9tICd1bnBsdWdpbi12dWUtcm91dGVyL3ZpdGUnXG5pbXBvcnQgbW9ja0RldlNlcnZlclBsdWdpbiBmcm9tICd2aXRlLXBsdWdpbi1tb2NrLWRldi1zZXJ2ZXInXG5pbXBvcnQgeyBWaXRlUFdBIH0gZnJvbSAndml0ZS1wbHVnaW4tcHdhJ1xuaW1wb3J0IFNpdGVtYXAgZnJvbSAndml0ZS1wbHVnaW4tc2l0ZW1hcCdcbmltcG9ydCBWdWVEZXZUb29scyBmcm9tICd2aXRlLXBsdWdpbi12dWUtZGV2dG9vbHMnXG5pbXBvcnQgVnVlSTE4blBsdWdpbiBmcm9tICdAaW50bGlmeS91bnBsdWdpbi12dWUtaTE4bi92aXRlJ1xuaW1wb3J0IHsgY3JlYXRlVml0ZVZDb25zb2xlIH0gZnJvbSAnLi92Y29uc29sZSdcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVZpdGVQbHVnaW5zKCkge1xuICByZXR1cm4gW1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9wb3N2YS91bnBsdWdpbi12dWUtcm91dGVyXG4gICAgVnVlUm91dGVyKHtcbiAgICAgIGV4dGVuc2lvbnM6IFsnLnZ1ZSddLFxuICAgICAgcm91dGVzRm9sZGVyOiAnc3JjL3BhZ2VzJyxcbiAgICAgIGR0czogJ3NyYy90eXBlZC1yb3V0ZXIuZC50cycsXG4gICAgfSksXG5cbiAgICB2dWUoKSxcblxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9qYmF1YnJlZS92aXRlLXBsdWdpbi1zaXRlbWFwXG4gICAgU2l0ZW1hcCgpLFxuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3Blbmd6aGFuYm8vdml0ZS1wbHVnaW4tbW9jay1kZXYtc2VydmVyXG4gICAgbW9ja0RldlNlcnZlclBsdWdpbigpLFxuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudGZ1L3VucGx1Z2luLXZ1ZS1jb21wb25lbnRzXG4gICAgQ29tcG9uZW50cyh7XG4gICAgICBleHRlbnNpb25zOiBbJ3Z1ZSddLFxuICAgICAgcmVzb2x2ZXJzOiBbVmFudFJlc29sdmVyKCldLFxuICAgICAgaW5jbHVkZTogWy9cXC52dWUkLywgL1xcLnZ1ZVxcP3Z1ZS9dLFxuICAgICAgZHRzOiAnc3JjL2NvbXBvbmVudHMuZC50cycsXG4gICAgfSksXG5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50ZnUvdW5wbHVnaW4tYXV0by1pbXBvcnRcbiAgICBBdXRvSW1wb3J0KHtcbiAgICAgIGluY2x1ZGU6IFtcbiAgICAgICAgL1xcLlt0al1zeD8kLyxcbiAgICAgICAgL1xcLnZ1ZSQvLFxuICAgICAgICAvXFwudnVlXFw/dnVlLyxcbiAgICAgIF0sXG4gICAgICBpbXBvcnRzOiBbXG4gICAgICAgICd2dWUnLFxuICAgICAgICAndml0ZXN0JyxcbiAgICAgICAgJ0B2dWV1c2UvY29yZScsXG4gICAgICAgIFZ1ZVJvdXRlckF1dG9JbXBvcnRzLFxuICAgICAgICB7XG4gICAgICAgICAgJ3Z1ZS1yb3V0ZXIvYXV0byc6IFsndXNlTGluayddLFxuICAgICAgICAgICdAL3V0aWxzL2kxOG4nOiBbJ2kxOG4nLCAnbG9jYWxlJ10sXG4gICAgICAgICAgJ3Z1ZS1pMThuJzogWyd1c2VJMThuJ10sXG4gICAgICAgIH0sXG4gICAgICAgIHVuaGVhZFZ1ZUNvbXBvc2FibGVzSW1wb3J0cyxcbiAgICAgIF0sXG4gICAgICBkdHM6ICdzcmMvYXV0by1pbXBvcnRzLmQudHMnLFxuICAgICAgZGlyczogW1xuICAgICAgICAnc3JjL2NvbXBvc2FibGVzJyxcbiAgICAgIF0sXG4gICAgICB2aXRlT3B0aW1pemVEZXBzOiBmYWxzZSxcbiAgICB9KSxcblxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9pbnRsaWZ5L2J1bmRsZS10b29scy90cmVlL21haW4vcGFja2FnZXMvdW5wbHVnaW4tdnVlLWkxOG5cbiAgICBWdWVJMThuUGx1Z2luKHtcbiAgICAgIC8vIGxvY2FsZSBtZXNzYWdlcyByZXNvdXJjZSBwcmUtY29tcGlsZSBvcHRpb25cbiAgICAgIGluY2x1ZGU6IHJlc29sdmUoZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpLCAnLi4vLi4vc3JjL2xvY2FsZXMvKionKSxcbiAgICB9KSxcblxuICAgIGxlZ2FjeSh7XG4gICAgICB0YXJnZXRzOiBbJ2RlZmF1bHRzJywgJ25vdCBJRSAxMSddLFxuICAgIH0pLFxuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudGZ1L3Vub2Nzc1xuICAgIC8vIHNlZSB1bm8uY29uZmlnLnRzIGZvciBjb25maWdcbiAgICBVbm9DU1MoKSxcblxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS92YWR4cS92aXRlLXBsdWdpbi12Y29uc29sZVxuICAgIGNyZWF0ZVZpdGVWQ29uc29sZSgpLFxuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3Z1ZWpzL2RldnRvb2xzLW5leHRcbiAgICBWdWVEZXZUb29scygpLFxuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudGZ1L3ZpdGUtcGx1Z2luLXB3YVxuICAgIFZpdGVQV0Eoe1xuICAgICAgcmVnaXN0ZXJUeXBlOiAnYXV0b1VwZGF0ZScsXG4gICAgICBpbmNsdWRlQXNzZXRzOiBbJ2Zhdmljb24uc3ZnJywgJ3NhZmFyaS1waW5uZWQtdGFiLnN2ZyddLFxuICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgbmFtZTogJ3Z1ZTMtdmFudC1tb2JpbGUnLFxuICAgICAgICBzaG9ydF9uYW1lOiAndnVlMy12YW50LW1vYmlsZScsXG4gICAgICAgIHRoZW1lX2NvbG9yOiAnI2ZmZmZmZicsXG4gICAgICAgIGljb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3JjOiAnL3B3YS0xOTJ4MTkyLnBuZycsXG4gICAgICAgICAgICBzaXplczogJzE5MngxOTInLFxuICAgICAgICAgICAgdHlwZTogJ2ltYWdlL3BuZycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzcmM6ICcvcHdhLTUxMng1MTIucG5nJyxcbiAgICAgICAgICAgIHNpemVzOiAnNTEyeDUxMicsXG4gICAgICAgICAgICB0eXBlOiAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHNyYzogJy9wd2EtNTEyeDUxMi5wbmcnLFxuICAgICAgICAgICAgc2l6ZXM6ICc1MTJ4NTEyJyxcbiAgICAgICAgICAgIHR5cGU6ICdpbWFnZS9wbmcnLFxuICAgICAgICAgICAgcHVycG9zZTogJ2FueSBtYXNrYWJsZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSksXG4gIF1cbn1cbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRzpcXFxcbm9kZVByZVxcXFx2dWUzLXZhbnQtbW9iaWxlXFxcXGJ1aWxkXFxcXHZpdGVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkc6XFxcXG5vZGVQcmVcXFxcdnVlMy12YW50LW1vYmlsZVxcXFxidWlsZFxcXFx2aXRlXFxcXHZjb25zb2xlLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9HOi9ub2RlUHJlL3Z1ZTMtdmFudC1tb2JpbGUvYnVpbGQvdml0ZS92Y29uc29sZS50c1wiO2ltcG9ydCBwYXRoIGZyb20gJ25vZGU6cGF0aCdcclxuaW1wb3J0IHsgdml0ZVZDb25zb2xlIH0gZnJvbSAndml0ZS1wbHVnaW4tdmNvbnNvbGUnXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVml0ZVZDb25zb2xlKCkge1xyXG4gIHJldHVybiB2aXRlVkNvbnNvbGUoe1xyXG4gICAgZW50cnk6IFtwYXRoLnJlc29sdmUoJ3NyYy9tYWluLnRzJyldLFxyXG4gICAgZW5hYmxlZDogZmFsc2UsXHJcbiAgICBjb25maWc6IHtcclxuICAgICAgbWF4TG9nTnVtYmVyOiAxMDAwLFxyXG4gICAgICB0aGVtZTogJ2xpZ2h0JyxcclxuICAgIH0sXHJcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdmFkeHEvdml0ZS1wbHVnaW4tdmNvbnNvbGUvaXNzdWVzLzIxXHJcbiAgICBkeW5hbWljQ29uZmlnOiB7XHJcbiAgICAgIHRoZW1lOiBgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZGFyaycpID8gJ2RhcmsnIDogJ2xpZ2h0J2AsXHJcbiAgICB9LFxyXG4gICAgZXZlbnRMaXN0ZW5lcjogYFxyXG4gICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaHRtbCcpOyAvLyBcdTYyRTlcdTg5ODFcdTc2RDFcdTU0MkNcdTc2ODRcdTUxNDNcdTdEMjBcclxuICAgICAgY29uc3Qgb2JzZXJ2ZXJPcHRpb25zID0ge1xyXG4gICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsIC8vIFx1NzZEMVx1NTQyQ1x1NUM1RVx1NjAyN1x1NTNEOFx1NTMxNlxyXG4gICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydjbGFzcyddIC8vIFx1NTNFQVx1NzZEMVx1NTQyQ2NsYXNzXHU1QzVFXHU2MDI3XHU1M0Q4XHU1MzE2XHJcbiAgICAgIH07XHJcblxyXG4gICAgICAvLyBcdTVCOUFcdTRFNDlcdTU2REVcdThDMDNcdTUxRkRcdTY1NzBcdTY3NjVcdTU5MDRcdTc0MDZcdTg5QzJcdTVCREZcdTUyMzBcdTc2ODRcdTUzRDhcdTUzMTZcclxuICAgICAgZnVuY3Rpb24gaGFuZGxlQXR0cmlidXRlQ2hhbmdlKG11dGF0aW9uc0xpc3QpIHtcclxuICAgICAgICBmb3IobGV0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHtcclxuICAgICAgICAgIGlmIChtdXRhdGlvbi50eXBlID09PSAnYXR0cmlidXRlcycgJiYgbXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2NsYXNzJykge1xyXG4gICAgICAgICAgICBpZiAod2luZG93ICYmIHdpbmRvdy52Q29uc29sZSkge1xyXG4gICAgICAgICAgICAgIHdpbmRvdy52Q29uc29sZS5keW5hbWljQ2hhbmdlLnZhbHVlID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFx1NTIxQlx1NUVGQVx1ODlDMlx1NUJERlx1ODAwNVx1NUI5RVx1NEY4Qlx1NUU3Nlx1NEYyMFx1NTE2NVx1NTZERVx1OEMwM1x1NTFGRFx1NjU3MFxyXG4gICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGhhbmRsZUF0dHJpYnV0ZUNoYW5nZSk7XHJcblxyXG4gICAgICAvLyBcdTVGMDBcdTU5Q0JcdTg5QzJcdTVCREZcdTc2RUVcdTY4MDdcdTUxNDNcdTdEMjBcclxuICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXRFbGVtZW50LCBvYnNlcnZlck9wdGlvbnMpO1xyXG5cclxuICAgICAgLy8gXHU1RjUzXHU0RTBEXHU1MThEXHU5NzAwXHU4OTgxXHU4OUMyXHU1QkRGXHU2NUY2XHVGRjBDXHU1MDVDXHU2QjYyXHU4OUMyXHU1QkRGXHJcbiAgICAgIC8vIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcclxuICAgIGAsXHJcbiAgfSlcclxufVxyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkc6XFxcXG5vZGVQcmVcXFxcdnVlMy12YW50LW1vYmlsZVxcXFxidWlsZFxcXFx2aXRlXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJHOlxcXFxub2RlUHJlXFxcXHZ1ZTMtdmFudC1tb2JpbGVcXFxcYnVpbGRcXFxcdml0ZVxcXFxvcHRpbWl6ZS50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRzovbm9kZVByZS92dWUzLXZhbnQtbW9iaWxlL2J1aWxkL3ZpdGUvb3B0aW1pemUudHNcIjtjb25zdCBpbmNsdWRlID0gW1xuICAnYXhpb3MnLFxuICAnc3RvcmUnLFxuICAnZWNoYXJ0cycsXG4gICdsb2Rhc2gtZXMnLFxuICAncmVzaXplLWRldGVjdG9yJyxcbiAgJ3N0b3JlL3BsdWdpbnMvZXhwaXJlJyxcbiAgJ3ZhbnQvZXMvY2VsbC1ncm91cC9zdHlsZS9pbmRleCcsXG4gICd2YW50L2VzL3BvcHVwL3N0eWxlL2luZGV4JyxcbiAgJ3ZhbnQvZXMvcGlja2VyL3N0eWxlL2luZGV4JyxcbiAgJ3ZhbnQvZXMvY2VsbC9zdHlsZS9pbmRleCcsXG4gICd2YW50L2VzL3N3aXRjaC9zdHlsZS9pbmRleCcsXG4gICd2YW50L2VzL3NwYWNlL3N0eWxlL2luZGV4JyxcbiAgJ3ZhbnQvZXMvYnV0dG9uL3N0eWxlL2luZGV4JyxcbiAgJ3ZhbnQvZXMvZW1wdHkvc3R5bGUvaW5kZXgnLFxuICAndmFudC9lcy9pY29uL3N0eWxlL2luZGV4JyxcbiAgJ3ZhbnQvZXMvc3RlcHBlci9zdHlsZS9pbmRleCcsXG5dXG5cbmNvbnN0IGV4Y2x1ZGUgPSBbXG4gICdAaWNvbmlmeS1qc29uL2NhcmJvbicsXG5dXG5cbmV4cG9ydCB7IGluY2x1ZGUsIGV4Y2x1ZGUgfVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLE9BQU9BLFdBQVU7QUFDakIsT0FBTyxhQUFhO0FBQ3BCLFNBQVMsZUFBZTtBQUV4QixPQUFPLGNBQWM7QUFDckIsT0FBTyxrQkFBa0I7OztBQ2J5USxTQUFTLFNBQVMsZUFBZTtBQUNuVSxTQUFTLHFCQUFxQjtBQUM5QixTQUFTLG1DQUFtQztBQUM1QyxPQUFPLFlBQVk7QUFDbkIsT0FBTyxTQUFTO0FBQ2hCLE9BQU8sWUFBWTtBQUNuQixPQUFPLGdCQUFnQjtBQUN2QixTQUFTLG9CQUFvQjtBQUM3QixPQUFPLGdCQUFnQjtBQUN2QixTQUFTLDRCQUE0QjtBQUNyQyxPQUFPLGVBQWU7QUFDdEIsT0FBTyx5QkFBeUI7QUFDaEMsU0FBUyxlQUFlO0FBQ3hCLE9BQU8sYUFBYTtBQUNwQixPQUFPLGlCQUFpQjtBQUN4QixPQUFPLG1CQUFtQjs7O0FDZjhRLE9BQU8sVUFBVTtBQUN6VCxTQUFTLG9CQUFvQjtBQUV0QixTQUFTLHFCQUFxQjtBQUNuQyxTQUFPLGFBQWE7QUFBQSxJQUNsQixPQUFPLENBQUMsS0FBSyxRQUFRLGFBQWEsQ0FBQztBQUFBLElBQ25DLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxNQUNOLGNBQWM7QUFBQSxNQUNkLE9BQU87QUFBQSxJQUNUO0FBQUE7QUFBQSxJQUVBLGVBQWU7QUFBQSxNQUNiLE9BQU87QUFBQSxJQUNUO0FBQUEsSUFDQSxlQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBMkJqQixDQUFDO0FBQ0g7OztBRDNDdUwsSUFBTSwyQ0FBMkM7QUFrQmpPLFNBQVMsb0JBQW9CO0FBQ2xDLFNBQU87QUFBQTtBQUFBLElB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
